Market structure + TF Bucket Market Structure + TF Bucket
This Pine Script™ indicator, published under the Mozilla Public License 2.0, extends the "Market Structure" script by mickes (), with full credit to mickes. It integrates the enhanced MarketStructure library by Fenomentn (), also based on mickes’ library under MPL 2.0, to provide advanced market structure analysis with multi-timeframe pivot length customization.
Functionality
Market Structure Analysis: Detects internal (orderflow) and swing market structures, visualizing Break of Structure (BOS), Change of Character (CHoCH), Equal High/Low (EQH/EQL), and liquidity zones using the MarketStructure library.
Timeframe Bucket (TF Bucket): Dynamically adjusts pivot lengths for six user-defined timeframes (e.g., 3m, 5m, 10m, 15m, 4h, 12h), optimizing structure detection across different chart timeframes.
Trend Strength Visualization: Displays a trend strength metric (from the library) for internal and swing structures, indicating trend reliability based on pivot frequency and volatility.
Statistics Table: Shows yearly counts of BOS and CHoCH events for internal and swing structures, configurable by a user-defined period.
Screener Support: Outputs BOS and CHoCH signals for TradingView’s screener, with a configurable signal persistence period.
Customizable Alerts: Enables alerts for BOS and CHoCH events, separately configurable for internal and swing structures.
Methodology
Pivot Detection: Uses the library’s Pivot function, which applies a volatility filter (ATR-based) to confirm significant pivots, reducing false signals in low-volatility markets.
TF Bucket: Maps user-selected timeframes to Pine Script’s timeframe.period using f_getTimeframePeriod, applying custom pivot lengths when the chart’s timeframe matches a selected one (or base lengths in Static mode).
Trend Strength: Calculates a score as pivotCount / LeftLength * (currentATR / ATR), displayed via labels to help traders assess trend reliability.
BOS/CHoCH Detection: Identifies BOS when price breaks a pivot in the trend direction and CHoCH when price reverses against the trend, labeling events as “MSF” or “MSF+” based on pivot patterns.
EQH/EQL and Liquidity: Draws boxes for equal high/low zones within ATR-based thresholds and visualizes liquidity levels with confirmation bars.
Statistics and Screener: Tracks BOS/CHoCH events in a yearly table and outputs signals for screener use, with persistence controlled by a user-defined period.
Usage
Integration: Apply the indicator to any chart and import the library via import Fenomentn/MarketStructure/1.
Configuration: Set up to six timeframes with custom pivot lengths, enable/disable internal and swing structures, configure alerts, and adjust statistics years in the settings panel.
Alerts: Enable BOS and CHoCH alerts for real-time notifications, triggered on bar close to avoid repainting.
Screener: Use the plotted signals to monitor BOS/CHoCH events across multiple tickers in TradingView’s screener.
Best Practices: Optimal for forex and crypto charts on 1m to 12h timeframes. Adjust pivot lengths and the library’s volatility threshold for specific market conditions.
Originality
This indicator enhances mickes’ original script with:
Timeframe Bucket: Dynamic pivot length selection for multi-timeframe analysis, not present in the original.
Trend Strength Display: Visualizes the library’s TrendStrength metric for enhanced trend analysis.
Enhanced Library Integration: Leverages Fenomentn/MarketStructure/1, which adds a volatility-based pivot filter, dynamic label sizing, and customizable BOS/CHoCH visualization styles.No additional open-source code was reused beyond mickes’ script and library, fully credited under MPL 2.0.
Cari dalam skrip untuk " TABLE "
Combined Futures Open Interest [Sam SDF-Solutions]The Combined Futures Open Interest indicator is designed to provide comprehensive analysis of market positioning by aggregating open interest data from the two nearest futures contracts. This dual-contract approach captures the complete picture of market participation, including rollover dynamics between front and back month contracts, offering traders crucial insights into institutional positioning and market sentiment.
Key Features:
Dual-Contract Aggregation: Automatically identifies and combines open interest from the first and second nearest futures contracts (e.g., ES1! + ES2!), providing a complete view of market positioning that single-contract analysis might miss.
Multi-Period Analysis: Tracks open interest changes across multiple timeframes:
1 Day: Immediate market sentiment shifts
1 Week: Short-term positioning trends
1 Month: Medium-term institutional flows
3 Months: Quarterly positioning aligned with contract expiration cycles
Smart Data Handling: Utilizes last known values when data is temporarily unavailable, preventing false signals from data gaps while clearly indicating when stale data is being used.
EMA Smoothing: Incorporates a customizable Exponential Moving Average (default 65 periods) to identify the underlying trend in open interest, filtering out daily noise and highlighting significant deviations.
Dynamic Visualization:
Color-coded main line showing directional changes (green for increases, red for decreases)
Optional fill areas between OI and EMA to visualize momentum
Separate contract lines for detailed rollover analysis
Customizable labels for significant percentage changes
Comprehensive Information Table: Displays real-time statistics including:
Current total open interest across both contracts
Period-over-period changes in absolute and percentage terms
EMA deviation metrics
Visual status indicators for quick assessment
Contract symbols and data quality warnings
Alert System: Configurable alerts for:
Significant daily changes (customizable threshold)
EMA crossovers indicating trend changes
Large percentage movements suggesting institutional activity
How It Works:
Contract Detection: The indicator automatically identifies the base futures symbol and constructs the appropriate contract codes for the two nearest expirations, or accepts manual symbol input for non-standard contracts.
Data Aggregation: Open interest data from both contracts is retrieved and summed, providing a complete picture that accounts for positions rolling between contracts.
Historical Comparison: The indicator calculates changes from multiple lookback periods (1/5/22/66 days) to show how positioning has evolved across different time horizons.
Trend Analysis: The EMA overlay helps identify whether current open interest is above or below its smoothed average, indicating momentum in position building or reduction.
Visual Feedback: The main line changes color based on daily changes, while the optional table provides detailed numerical analysis for traders requiring precise data.
___________________
This indicator is essential for futures traders, particularly those focused on index futures, commodities, or currency futures where understanding the aggregate positioning across nearby contracts is crucial. It's especially valuable during rollover periods when positions shift between contracts, and for identifying institutional accumulation or distribution patterns that single-contract analysis might miss. By combining multiple timeframe analysis with intelligent data handling and clear visualization, it simplifies the complex task of monitoring open interest dynamics across the futures curve.
VN30 Effort-vs-Result Multi-Scanner — LinhVN30 Effort-vs-Result Multi-Scanner (Pine v5)
Cross-section scanner for Vietnam’s VN30 stocks that surfaces Effort vs Result footprints and related accumulation/distribution and volatility tells. It renders a ranked table (Top-N) with per-ticker signals and key metrics.
What it does
Scans up to 30 tickers (editable input.symbol slots) using one security() call per symbol → stays under Pine’s 40-call limit and runs reliably on any chart.
Scores each ticker by counting active signals, then ranks and lists the top names.
Optional metrics columns: zVol(60), zTR(60), ATR(20), HL/ATR(20).
Signals (toggleable)
Price/Volume – Effort vs Result
EVR Squeeze (stealth): z(Vol,60) > 4 & z(TR,60) < −0.5
5σ Vol, ≤1σ Ret: z(Vol,60) > 5 & |z(Return,60)| < 1
Wide Effort, Opposite Result: z(Vol,60) > 3 & close < open & z(CLV×Vol,60) > 1
Spread Compression, Heavy Tape: (H−L)/ATR(20) < 0.6 & z(Vol,60) > 3
No-Supply / No-Demand: close < close & range < 0.6×ATR(20) & vol < 0.5×SMA(20)
Momentum & Volatility
Vol-of-Vol Kink: z(ATR20,200) rising & z(ATR5,60) falling
BB Squeeze → Expansion: BBWidth(20) in low regime (z<−1.3) then close > upper band & z(Vol,60) > 2
RSI Non-Confirmation: Price LL/HH with RSI HL/LH & z(Vol,60) > 1
Accumulation/Distribution
OBV Divergence w/ Flat Price: OBV slope > 0 & |z(ret20,260)| < 0.3
Accumulation Days Cluster: ≥3/5 bars: up close, higher vol, close near high
Effort-Result Inversion (Down): big vol on down day then next day close > prior high
How to use
Set the timeframe (works best on 1D for EOD scans).
Edit the 30 symbol slots to your VN30 constituents.
Choose Top N, toggle Show metrics/Only matches and enable/disable scenarios.
Read the table: Rank, Ticker, (metrics), Score, and comma-separated Signals fired.
Method notes
Z-scores use a population-std estimate; CLV×Vol is used for effort/location.
Rolling counts avoid ta.sum; OBV is computed manually; all logic is Pine v5-safe.
Intraday-only ideas (true VWAP magnets, auction volume, flows, futures/options) are not included—Pine can’t cross-scan those datasets.
Disclaimer: Educational tool, not financial advice. Always confirm signals on the chart and with your process.
TCP | Market Session | Session Analyzer📌 TCP | Market Session Indicator | Crypto Version
A powerful, real-time market session visualization tool tailored for crypto traders. Track the heartbeat of Asia, Europe, and US trading hours directly on your chart with live session boxes, behavioral analysis, liquidity grab detection, and countdown timers. Know when the action starts, how the market behaves, and where the traps lie.
🔰 Introduction:
Trade the Right Hours with the Right Tools
Time matters in trading. Most significant moves happen during key sessions—and knowing when and how each session unfolds can give you a sharp edge. The TCP Market Session Indicator, developed by Trade City Pro (TCP), puts professional session tracking and behavioral insights at your fingertips.
Whether you're a scalper or swing trader, this indicator gives you the timing context to enter and exit trades with greater confidence and clarity.
🕒 Core Features
• Live Session Boxes :
Highlight active ranges during Asia, Europe, and US sessions with dynamic high/low updates.
• Session Start/End Labels :
Know exactly when each session begins and ends plotted clearly on your chart with context.
• Session Behavior Analysis :
At the end of each session, the indicator classifies the price action as:
- Trend Up
- Trend Down
- Consolidation
- Manipulation
• Liquidity Grab Detection: Automatically detects possible stop hunts (fake breakouts) and marks them on the chart with precision filters (volume, ATR, reversal).
• Session Countdown Table: A live dashboard showing:
- Current active session
- Time left in session
- Upcoming session and how many minutes until it starts
- Utility time converter (e.g. 90 min = 01:30)
• Vertical Session Lines: Visualize past and upcoming session boundaries with customizable history and future range.
• Multi-Day Support: Draw session ranges for previous, current, and future days for better backtesting and forecasting.
⚙️ Settings Panel
Customize everything to fit your trading style and schedule:
• Session Time Settings:
Set the opening and closing time for each session manually using UTC-based minute inputs.
→ For example, enter Asia Start: 0, Asia End: 480 for 00:00–08:00 UTC.
This gives full flexibility to adjust session hours to match your preferred market behavior.
• Enable or Disable Elements:
Toggle the visibility of each session (Asia, Europe, US), as well as:
- Session Boxes
- Countdown Table
- Session Lines
- Liquidity Grab Labels
• Timezone Selection:
Choose between using UTC or your chart’s local timezone for session calculations.
• Customization Options:
Select number of past and future days to draw session data
Adjust vertical line transparency
Fine-tune label offset and spacing for clean layout
📊 Smart Session Boxes
Each session box tracks high, low, open, and close in real time, providing visual clarity on market structure. Once a session ends, the box closes, and the behavior type is saved and labeled ideal for spotting patterns across sessions.
• Asia: Green Box
• Europe: Orange Box
• US: Blue Box
💡 Why Use This Tool?
• Perfect Timing: Don’t get chopped in low-liquidity hours. Focus on sessions where volume and volatility align.
• Pattern Recognition: Study how price behaves session-to-session to build better strategies.
• Trap Detection: Spot manipulation moves (liquidity grabs) early and avoid common retail pitfalls.
• Macro Session Mapping: Use as a foundational layer to align trades with market structure and news cycles.
🔍 Example Use Case
You're watching BTC at 12:45 UTC. The indicator tells you:
The Asia session just ended (label shows “Asia Session End: Trend Up”)
Europe session starts in 15 minutes
A liquidity grab just triggered at the previous high—label confirmed
Now you know who’s active, what the market just did, and what’s about to start—all in one glance.
✅ Why Traders Trust It
• Visual & Intuitive: Fully chart-based, no clutter, no guessing
• Crypto-Focused: Designed specifically for 24/7 crypto markets (not outdated forex models)
• Non-Repainting: All labels and boxes stay as printed—no tricks
• Reliable: Tested across multiple exchanges, pairs, and timeframes
🧩 Built by Trade City Pro (TCP)
The TCP Market Session Indicator is part of a suite of professional tools used by over 150,000 traders. It’s coded in Pine Script v6 for full compatibility with TradingView’s latest capabilities.
🔗 Resources
• Tutorial: Learn how to analyze sessions like a pro in our TradingView guide:
"TradeCityPro Academy: Session Mapping & Liquidity Traps"
• More Tools: Explore our full library of indicators on
VOLUME Simple [Titans_Invest]VOLUME Simple
A streamlined volume analysis tool crafted for simplicity and smart signal detection.
Although simple in appearance, this indicator brings intelligent volume-based entries through configurable logic. Its design emphasizes clean and effective interpretation of volume signals.
⯁ WHAT IS THE VOLUME INDICATOR❓
The Volume indicator is a fundamental technical analysis tool that measures the number of shares or contracts traded in a security or market during a given period. It helps traders and investors understand the strength or weakness of a price movement, confirm trends, and predict potential reversals. Volume is typically displayed as a histogram below a price chart, with each bar representing the volume traded during a specific time interval.
⯁ HOW TO USE THE VOLUME❓
The Volume indicator can be used in several ways to enhance trading decisions:
• Trend Confirmation: High volume during a price move confirms the strength of that trend, while low volume can indicate a weak or unsustainable trend.
• Breakouts: A price breakout from a pattern or range accompanied by high volume is more likely to be valid and sustainable.
• Divergence: When the price moves in one direction and volume moves in the opposite direction, it can signal a potential reversal.
• Overbought/Oversold Conditions: Extreme volume levels can sometimes indicate that an asset is overbought or oversold, though this is less straightforward than with oscillators like the RSI.
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
▪︎ Signal Validity: The signal will remain valid for X bars .
🔹 volume > volume_MA * Trigger Signal (close > open)
🔹 volume > volume_MA * Trigger Signal (Keep State)
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
▪︎ Signal Validity: The signal will remain valid for X bars .
🔸 volume > volume_MA * Trigger Signal (close > open)
🔸 volume > volume_MA * Trigger Signal (Keep State)
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Signal Validity: The signal will remain valid for X bars
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Signal Validity: The signal will remain valid for X bars
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : VOLUME Simple
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
Custom Screener with Alerts @RAMLAKSHMANDASScan the Nifty 50 directly on TradingView!
This script provides a real-time screener for the top 40 Nifty 50 stocks ranked by current index weightage (starting from RELIANCE, HDFCBANK, ICICIBANK, etc.), offering rapid on-chart multi-symbol analysis.
Features
Multi-symbol screener: Monitors the leading 40 Nifty constituents (NSE equities) in one view.
Full indicator table: Get snapshot values for Price, RSI, TSI, ADX, and SuperTrend for every symbol.
Dynamic filtering: Instantly filter results by any indicator value (e.g., highlight all stocks with RSI below 30).
Customizable symbols: Easily edit the symbol list to match updated Nifty composition or your stocks of interest.
Multi-timeframe support: Table values will update for any chosen chart timeframe.
Real-time alerts: Set up alerts for filtered stocks matching your strategy.
Advanced Correlation Monitor📊 Advanced Correlation Monitor - Pine Script v6
🎯 What does this indicator do?
Monitors real-time correlations between 13 different asset pairs and alerts you when historically strong correlations break, indicating potential trading opportunities or changes in market dynamics.
🚀 Key Features
✨ Multi-Market Monitoring
7 Forex Pairs (GBPUSD/DXY, EURUSD/GBPUSD, etc.)
6 Index/Stock Pairs (SPY/S&P500, DAX/NASDAQ, TSLA/NVDA, etc.)
Fully configurable - change any pair from inputs
📈 Dual Correlation Analysis
Long Period (90 bars): Identifies historically strong correlations
Short Period (6 bars): Detects recent breakdowns
Pearson Correlation using Pine Script v6 native functions
🎨 Intuitive Visualization
Real-time table with 6 information columns
Color coding: Green (correlated), Red (broken), Gray (normal)
Visual states: 🟢 OK, 🔴 BROKEN, ⚫ NORMAL
🚨 Smart Alert System
Only alerts previously correlated pairs (>80% historical)
Detects breakdowns when short correlation <80%
Consolidated alert with all affected pairs
🛠️ Flexible Configuration
Adjustable Parameters:
📅 Periods: Long (30-500), Short (2-50)
🎯 Threshold: 50%-99% (default 80%)
🎨 Table: Configurable position and size
📊 Symbols: All pairs are configurable
Default Pairs:
FOREX: INDICES/STOCKS:
- GBPUSD vs DXY • SPY vs S&P500
- EURUSD vs GBPUSD • DAX vs S&P500
- EURUSD vs DXY • DAX vs NASDAQ
- USDCHF vs DXY • TSLA vs NVDA
- GBPUSD vs USDCHF • MSFT vs NVDA
- EURUSD vs USDCHF • AAPL vs NVDA
- EURUSD vs EURCAD
💡 Practical Use Cases
🔄 Pairs Trading
Detects when strong correlations break for:
Statistical arbitrage
Mean reversion trading
Divergence opportunities
🛡️ Risk Management
Identifies when "safe" assets start moving independently:
Portfolio diversification
Smart hedging
Regime change detection
📊 Market Analysis
Understand underlying market structure:
Forex/DXY correlations
Tech sector rotation
Regional market disconnection
🎓 Results Interpretation
Reading Example:
EURUSD vs DXY: -98.57% → -98.27% | 🟢 OK
└─ Perfect negative correlation maintained (EUR rises when DXY falls)
TSLA vs NVDA: 78.12% → 0% | ⚫ NORMAL
└─ Lost tech correlation (divergence opportunity)
Trading Signals:
🟢 → 🔴: Broken correlation = Possible opportunity
Large difference: Indicates correlation tension
Multiple breaks: Market regime change
Greer Value Yields Line📈 Greer Value Yields Line – Valuation Signal Without the Clutter
Part of the Greer Financial Toolkit, this streamlined indicator tracks four valuation-based yield metrics and presents them clearly via the Data Window, GVY Score badge, and an optional Yield Table:
Earnings Yield (EPS ÷ Price)
FCF Yield (Free Cash Flow ÷ Price)
Revenue Yield (Revenue per Share ÷ Price)
Book Value Yield (Book Value per Share ÷ Price)
✅ Each yield is compared against its historical average
✅ A point is scored for each metric above average (0–4 total)
✅ Color-coded GVY Score badge highlights valuation strength
✅ Yield trend-lines Totals (TVAVG & TVPCT) help assess direction
✅ Clean layout: no chart clutter – just actionable insights
🧮 GVY Score Color Coding (0–4):
⬜ 0 = None (White)
⬜ 1 = Weak (Gray)
🟦 2 = Neutral (Aqua)
🟩 3 = Strong (Green)
🟨 4 = Gold Exceptional (All metrics above average)
Total Value Average Line Color Coding:
🟥 Red – Average trending down
🟩 Green – Average trending up
Ideal for long-term investors focused on fundamental valuation, not short-term noise.
Enable the table and badge for a compact yield dashboard — or keep it minimal with just the Data Window and trend-lines.
Random Coin Toss Strategy📌 Overview
This strategy is a probability-based trading simulation that randomly decides trade direction using a coin-toss mechanism and executes trades with a customizable risk-reward ratio. It's designed primarily for testing entry frequency and risk dynamics, not predictive accuracy.
🎯 Core Concept
Every N bars (configurable), the strategy performs a pseudo-random coin toss.
Based on the result:
If heads → Buy
If tails → Sell
Once a position is opened, it sets a Stop-Loss (SL) and Take-Profit (TP) based on a multiple of the current ATR (Average True Range) value.
⚙️ Configurable Inputs
ATR Length Period for ATR calculation, determines volatility basis.
SL Multiplier SL distance = ATR × multiplier (e.g., 1.0 means 1x ATR) .
TP Multiplier TP distance = ATR × multiplier (e.g., 2.0 = 2x ATR) .
Entry Frequency Bars to wait between each new coin toss decision.
Show TP/SL Zones Toggle on/off for drawing visual TP and SL zones.
Box Size Number of bars used to define the width of the TP/SL boxes.
🔁 Entry & Exit Logic
Entry:
Happens only when no current position exists and it's the correct bar interval.
Entry direction is randomly decided.
Exit:
Positions exit at either:
Take-Profit (TP) level
Stop-Loss (SL) level
Both are calculated using the configured ATR-based distances.
🖼️ Visual Features
TP and SL zones:
Rendered as shaded rectangles (boxes) only once per trade.
Green box for TP zone, red box for SL zone.
Automatically deleted and redrawn for each new trade to avoid chart clutter.
ATR Display Table:
A minimal info table at the top-right shows the current ATR value.
Updates every few bars for performance.
🧪 Use Cases
Ideal for risk-reward modeling, strategy prototyping, and understanding how volatility-based SL/TP behavior affects results.
Great for backtesting frequency, RR tweaks (e.g., 2:5 or 3:1), and execution structure in random conditions.
⚠️ Disclaimer
Since the trade direction is random, this script is not meant for predictive trading but serves as a powerful experiment framework for studying how SL, TP, and volatility interact with random chance in a controlled, repeatable system.
All SMAs Bullish/Bearish Screener (Enhanced)All SMAs Bullish/Bearish Screener Enhanced: Uncover High-Conviction Trend Alignments with Confidence
Description:
Are you ready to elevate your trading from mere guesswork to precise, data-driven decisions? The "All SMAs Bullish/Bearish Screener Enhanced" is not just another indicator; it's a sophisticated, yet user-friendly, trend-following powerhouse designed to cut through market noise and pinpoint high-probability trading opportunities. Built on the foundational strength of comprehensive Moving Average confluence and fortified with critical confirmation signals from Momentum, Volume, and Relative Strength, this script empowers you to identify truly robust trends and manage your trades with unparalleled clarity.
The Power of Multi-Factor Confluence: Beyond Simple Averages
In the unpredictable world of financial markets, true strength or weakness is rarely an isolated event. It's the harmonious alignment of multiple technical factors that signals a high-conviction move. While our original "All SMAs Bullish/Bearish Screener" intelligently identified stocks where price was consistently above or below a full spectrum of Simple Moving Averages (5, 10, 20, 50, 100, 200), this Enhanced version takes it a crucial step further.
We've integrated a powerful three-pronged confirmation system to filter out weaker signals and highlight only the most compelling setups:
Momentum (Rate of Change - ROC): A strong trend isn't just about price direction; it's about the speed and intensity of that movement. Positive momentum confirms that buyers are still aggressively pushing price higher (for bullish signals), while negative momentum validates selling pressure (for bearish signals).
Volume: No trend is truly trustworthy without the backing of smart money. Above-average volume accompanying an "All SMAs" alignment signifies strong institutional participation and conviction behind the move. It separates genuine trend starts from speculative whims.
Relative Strength Index (RSI): This versatile oscillator ensures the trend isn't just "there," but that it's developing healthily. We use RSI to confirm a bullish bias (above 50) or a bearish bias (below 50), adding another layer of confidence to the direction.
When the price aligns above ALL six critical SMAs, and is simultaneously confirmed by robust positive momentum, healthy volume, and a bullish RSI bias, you have an exceptionally strong "STRONGLY BULLISH" signal. This confluence often precedes sustained upward moves, signaling prime accumulation phases. Conversely, a "STRONGLY BEARISH" signal, where price is below ALL SMAs with negative momentum, confirming volume, and a bearish RSI bias, indicates powerful distribution and potential for significant downside.
How to Use This Enhanced Screener:
Add to Chart: Go to TradingView's Pine Editor, paste the script, and click "Add to Chart."
Customize Parameters: Fine-tune the lengths of your SMAs, RSI, Momentum, and Volume averages via the indicator's settings. Experiment to find what best suits your trading style and the assets you trade.
Choose Your Timeframe Wisely:
Daily (1D) and 4-Hour (240 min) are highly recommended. These timeframes cut through intraday noise and provide more reliable, actionable signals for swing and position trading.
Shorter timeframes (e.g., 15min, 60min) can be used by advanced day traders for very short-term entries, but be aware of increased volatility and noise.
Visual Confirmation:
Green/Red Triangles: Appear on your chart, indicating confirmed bullish or bearish signals.
Background Color: The chart background will subtly turn lime green for "STRONGLY BULLISH" and red for "STRONGLY BEARISH" conditions.
On-Chart Status Table: A clear table displays the current signal status ("STRONGLY BULLISH/BEARISH," or "SMAs Mixed") for immediate feedback.
Set Up Alerts (Your Primary Screener Tool): This is the game-changer! Create custom alerts on TradingView based on the "Confirmed Bullish Trade" and "Confirmed Bearish Trade" conditions. Receive instant notifications (email, pop-up, mobile) for any stock in your watchlist that meets these stringent criteria. This allows you to scan the entire market effortlessly and act decisively.
Strategic Stop-Loss Placement: The Trader's Lifeline
Even the most robust signals can fail. Protecting your capital is paramount. For this trend-following strategy, your stop-loss should be placed where the underlying trend structure is broken.
For a "STRONGLY BULLISH" Trade: Place your stop-loss just below the most recent significant swing low (higher low). This is the last point where buyers stepped in to support the price. If price breaks below this, your bullish thesis is invalidated.
For a "STRONGLY BEARISH" Trade: Place your stop-loss just above the most recent significant swing high (lower high). If price breaks above this, your bearish thesis is invalidated.
Alternatively, consider placing your stop-loss just below the 20-period SMA (for bullish trades) or above the 20-period SMA (for bearish trades). A significant close beyond this intermediate-term average often indicates a critical shift in momentum. Always ensure your chosen stop-loss adheres to your pre-defined risk per trade (e.g., 1-2% of capital).
Disciplined Profit Booking: Maximizing Gains
Just as important as knowing when you're wrong is knowing when to take profits.
Trailing Stop-Loss: As your trade moves into profit, trail your stop-loss upwards (for longs) or downwards (for shorts). You can trail it using:
Previous Swing Lows/Highs: Move your stop to just below each new higher low (for longs) or just above each new lower high (for shorts).
A Moving Average (e.g., 10-period or 20-period SMA): If price closes below your chosen trailing SMA, exit. This allows you to ride the trend while protecting accumulated profits.
Target Levels: Identify potential resistance levels (for longs) or support levels (for shorts) using pivot points, previous highs/lows, or Fibonacci extensions. Consider taking partial profits at these levels and letting the rest run with a trailing stop.
Loss of Confluence: If the "STRONGLY BULLISH/BEARISH" condition ceases to be met (e.g., RSI crosses below 50, or volume drops significantly), this can be a signal to reduce or exit your position, even if your stop-loss hasn't been hit.
The "All SMAs Bullish/Bearish Screener Enhanced" is your comprehensive partner in navigating the markets. By combining robust trend identification with critical confirmation signals and disciplined risk management, you're equipped to make smarter, more confident trading decisions. Add it to your favorites and unlock a new level of precision in your trading journey!
#PineScript #TradingView #SMA #MovingAverage #TrendFollowing #StockScreener #TechnicalAnalysis #Bullish #Bearish #QQQ #Momentum #Volume #RSI #SPY #TradingStrategy #Enhanced #Signals #Analysis #DayTrading #SwingTrading
Color█ OVERVIEW
This library is a Pine Script® programming tool for advanced color processing. It provides a comprehensive set of functions for specifying and analyzing colors in various color spaces, mixing and manipulating colors, calculating custom gradients and schemes, detecting contrast, and converting colors to or from hexadecimal strings.
█ CONCEPTS
Color
Color refers to how we interpret light of different wavelengths in the visible spectrum . The colors we see from an object represent the light wavelengths that it reflects, emits, or transmits toward our eyes. Some colors, such as blue and red, correspond directly to parts of the spectrum. Others, such as magenta, arise from a combination of wavelengths to which our minds assign a single color.
The human interpretation of color lends itself to many uses in our world. In the context of financial data analysis, the effective use of color helps transform raw data into insights that users can understand at a glance. For example, colors can categorize series, signal market conditions and sessions, and emphasize patterns or relationships in data.
Color models and spaces
A color model is a general mathematical framework that describes colors using sets of numbers. A color space is an implementation of a specific color model that defines an exact range (gamut) of reproducible colors based on a set of primary colors , a reference white point , and sometimes additional parameters such as viewing conditions.
There are numerous different color spaces — each describing the characteristics of color in unique ways. Different spaces carry different advantages, depending on the application. Below, we provide a brief overview of the concepts underlying the color spaces supported by this library.
RGB
RGB is one of the most well-known color models. It represents color as an additive mixture of three primary colors — red, green, and blue lights — with various intensities. Each cone cell in the human eye responds more strongly to one of the three primaries, and the average person interprets the combination of these lights as a distinct color (e.g., pure red + pure green = yellow).
The sRGB color space is the most common RGB implementation. Developed by HP and Microsoft in the 1990s, sRGB provided a standardized baseline for representing color across CRT monitors of the era, which produced brightness levels that did not increase linearly with the input signal. To match displays and optimize brightness encoding for human sensitivity, sRGB applied a nonlinear transformation to linear RGB signals, often referred to as gamma correction . The result produced more visually pleasing outputs while maintaining a simple encoding. As such, sRGB quickly became a standard for digital color representation across devices and the web. To this day, it remains the default color space for most web-based content.
TradingView charts and Pine Script `color.*` built-ins process color data in sRGB. The red, green, and blue channels range from 0 to 255, where 0 represents no intensity, and 255 represents maximum intensity. Each combination of red, green, and blue values represents a distinct color, resulting in a total of 16,777,216 displayable colors.
CIE XYZ and xyY
The XYZ color space, developed by the International Commission on Illumination (CIE) in 1931, aims to describe all color sensations that a typical human can perceive. It is a cornerstone of color science, forming the basis for many color spaces used today. XYZ, and the derived xyY space, provide a universal representation of color that is not tethered to a particular display. Many widely used color spaces, including sRGB, are defined relative to XYZ or derived from it.
The CIE built the color space based on a series of experiments in which people matched colors they perceived from mixtures of lights. From these experiments, the CIE developed color-matching functions to calculate three components — X, Y, and Z — which together aim to describe a standard observer's response to visible light. X represents a weighted response to light across the color spectrum, with the highest contribution from long wavelengths (e.g., red). Y represents a weighted response to medium wavelengths (e.g., green), and it corresponds to a color's relative luminance (i.e., brightness). Z represents a weighted response to short wavelengths (e.g., blue).
From the XYZ space, the CIE developed the xyY chromaticity space, which separates a color's chromaticity (hue and colorfulness) from luminance. The CIE used this space to define the CIE 1931 chromaticity diagram , which represents the full range of visible colors at a given luminance. In color science and lighting design, xyY is a common means for specifying colors and visualizing the supported ranges of other color spaces.
CIELAB and Oklab
The CIELAB (L*a*b*) color space, derived from XYZ by the CIE in 1976, expresses colors based on opponent process theory. The L* component represents perceived lightness, and the a* and b* components represent the balance between opposing unique colors. The a* value specifies the balance between green and red , and the b* value specifies the balance between blue and yellow .
The primary intention of CIELAB was to provide a perceptually uniform color space, where fixed-size steps through the space correspond to uniform perceived changes in color. Although relatively uniform, the color space has been found to exhibit some non-uniformities, particularly in the blue part of the color spectrum. Regardless, modern applications often use CIELAB to estimate perceived color differences and calculate smooth color gradients.
In 2020, a new LAB-oriented color space, Oklab , was introduced by Björn Ottosson as an attempt to rectify the non-uniformities of other perceptual color spaces. Similar to CIELAB, the L value in Oklab represents perceived lightness, and the a and b values represent the balance between opposing unique colors. Oklab has gained widespread adoption as a perceptual space for color processing, with support in the latest CSS Color specifications and many software applications.
Cylindrical models
A cylindrical-coordinate model transforms an underlying color model, such as RGB or LAB, into an alternative expression of color information that is often more intuitive for the average person to use and understand.
Instead of a mixture of primary colors or opponent pairs, these models represent color as a hue angle on a color wheel , with additional parameters that describe other qualities such as lightness and colorfulness (a general term for concepts like chroma and saturation). In cylindrical-coordinate spaces, users can select a color and modify its lightness or other qualities without altering the hue.
The three most common RGB-based models are HSL (Hue, Saturation, Lightness), HSV (Hue, Saturation, Value), and HWB (Hue, Whiteness, Blackness). All three define hue angles in the same way, but they define colorfulness and lightness differently. Although they are not perceptually uniform, HSL and HSV are commonplace in color pickers and gradients.
For CIELAB and Oklab, the cylindrical-coordinate versions are CIELCh and Oklch , which express color in terms of perceived lightness, chroma, and hue. They offer perceptually uniform alternatives to RGB-based models. These spaces create unique color wheels, and they have more strict definitions of lightness and colorfulness. Oklch is particularly well-suited for generating smooth, perceptual color gradients.
Alpha and transparency
Many color encoding schemes include an alpha channel, representing opacity . Alpha does not help define a color in a color space; it determines how a color interacts with other colors in the display. Opaque colors appear with full intensity on the screen, whereas translucent (semi-opaque) colors blend into the background. Colors with zero opacity are invisible.
In Pine Script, there are two ways to specify a color's alpha:
• Using the `transp` parameter of the built-in `color.*()` functions. The specified value represents transparency (the opposite of opacity), which the functions translate into an alpha value.
• Using eight-digit hexadecimal color codes. The last two digits in the code represent alpha directly.
A process called alpha compositing simulates translucent colors in a display. It creates a single displayed color by mixing the RGB channels of two colors (foreground and background) based on alpha values, giving the illusion of a semi-opaque color placed over another color. For example, a red color with 80% transparency on a black background produces a dark shade of red.
Hexadecimal color codes
A hexadecimal color code (hex code) is a compact representation of an RGB color. It encodes a color's red, green, and blue values into a sequence of hexadecimal ( base-16 ) digits. The digits are numerals ranging from `0` to `9` or letters from `a` (for 10) to `f` (for 15). Each set of two digits represents an RGB channel ranging from `00` (for 0) to `ff` (for 255).
Pine scripts can natively define colors using hex codes in the format `#rrggbbaa`. The first set of two digits represents red, the second represents green, and the third represents blue. The fourth set represents alpha . If unspecified, the value is `ff` (fully opaque). For example, `#ff8b00` and `#ff8b00ff` represent an opaque orange color. The code `#ff8b0033` represents the same color with 80% transparency.
Gradients
A color gradient maps colors to numbers over a given range. Most color gradients represent a continuous path in a specific color space, where each number corresponds to a mix between a starting color and a stopping color. In Pine, coders often use gradients to visualize value intensities in plots and heatmaps, or to add visual depth to fills.
The behavior of a color gradient depends on the mixing method and the chosen color space. Gradients in sRGB usually mix along a straight line between the red, green, and blue coordinates of two colors. In cylindrical spaces such as HSL, a gradient often rotates the hue angle through the color wheel, resulting in more pronounced color transitions.
Color schemes
A color scheme refers to a set of colors for use in aesthetic or functional design. A color scheme usually consists of just a few distinct colors. However, depending on the purpose, a scheme can include many colors.
A user might choose palettes for a color scheme arbitrarily, or generate them algorithmically. There are many techniques for calculating color schemes. A few simple, practical methods are:
• Sampling a set of distinct colors from a color gradient.
• Generating monochromatic variants of a color (i.e., tints, tones, or shades with matching hues).
• Computing color harmonies — such as complements, analogous colors, triads, and tetrads — from a base color.
This library includes functions for all three of these techniques. See below for details.
█ CALCULATIONS AND USE
Hex string conversion
The `getHexString()` function returns a string containing the eight-digit hexadecimal code corresponding to a "color" value or set of sRGB and transparency values. For example, `getHexString(255, 0, 0)` returns the string `"#ff0000ff"`, and `getHexString(color.new(color.red, 80))` returns `"#f2364533"`.
The `hexStringToColor()` function returns the "color" value represented by a string containing a six- or eight-digit hex code. The `hexStringToRGB()` function returns a tuple containing the sRGB and transparency values. For example, `hexStringToColor("#f23645")` returns the same value as color.red .
Programmers can use these functions to parse colors from "string" inputs, perform string-based color calculations, and inspect color data in text outputs such as Pine Logs and tables.
Color space conversion
All other `get*()` functions convert a "color" value or set of sRGB channels into coordinates in a specific color space, with transparency information included. For example, the tuple returned by `getHSL()` includes the color's hue, saturation, lightness, and transparency values.
To convert data from a color space back to colors or sRGB and transparency values, use the corresponding `*toColor()` or `*toRGB()` functions for that space (e.g., `hslToColor()` and `hslToRGB()`).
Programmers can use these conversion functions to process inputs that define colors in different ways, perform advanced color manipulation, design custom gradients, and more.
The color spaces this library supports are:
• sRGB
• Linear RGB (RGB without gamma correction)
• HSL, HSV, and HWB
• CIE XYZ and xyY
• CIELAB and CIELCh
• Oklab and Oklch
Contrast-based calculations
Contrast refers to the difference in luminance or color that makes one color visible against another. This library features two functions for calculating luminance-based contrast and detecting themes.
The `contrastRatio()` function calculates the contrast between two "color" values based on their relative luminance (the Y value from CIE XYZ) using the formula from version 2 of the Web Content Accessibility Guidelines (WCAG) . This function is useful for identifying colors that provide a sufficient brightness difference for legibility.
The `isLightTheme()` function determines whether a specified background color represents a light theme based on its contrast with black and white. Programmers can use this function to define conditional logic that responds differently to light and dark themes.
Color manipulation and harmonies
The `negative()` function calculates the negative (i.e., inverse) of a color by reversing the color's coordinates in either the sRGB or linear RGB color space. This function is useful for calculating high-contrast colors.
The `grayscale()` function calculates a grayscale form of a specified color with the same relative luminance.
The functions `complement()`, `splitComplements()`, `analogousColors()`, `triadicColors()`, `tetradicColors()`, `pentadicColors()`, and `hexadicColors()` calculate color harmonies from a specified source color within a given color space (HSL, CIELCh, or Oklch). The returned harmonious colors represent specific hue rotations around a color wheel formed by the chosen space, with the same defined lightness, saturation or chroma, and transparency.
Color mixing and gradient creation
The `add()` function simulates combining lights of two different colors by additively mixing their linear red, green, and blue components, ignoring transparency by default. Users can calculate a transparency-weighted mixture by setting the `transpWeight` argument to `true`.
The `overlay()` function estimates the color displayed on a TradingView chart when a specific foreground color is over a background color. This function aids in simulating stacked colors and analyzing the effects of transparency.
The `fromGradient()` and `fromMultiStepGradient()` functions calculate colors from gradients in any of the supported color spaces, providing flexible alternatives to the RGB-based color.from_gradient() function. The `fromGradient()` function calculates a color from a single gradient. The `fromMultiStepGradient()` function calculates a color from a piecewise gradient with multiple defined steps. Gradients are useful for heatmaps and for coloring plots or drawings based on value intensities.
Scheme creation
Three functions in this library calculate palettes for custom color schemes. Scripts can use these functions to create responsive color schemes that adjust to calculated values and user inputs.
The `gradientPalette()` function creates an array of colors by sampling a specified number of colors along a gradient from a base color to a target color, in fixed-size steps.
The `monoPalette()` function creates an array containing monochromatic variants (tints, tones, or shades) of a specified base color. Whether the function mixes the color toward white (for tints), a form of gray (for tones), or black (for shades) depends on the `grayLuminance` value. If unspecified, the function automatically chooses the mix behavior with the highest contrast.
The `harmonyPalette()` function creates a matrix of colors. The first column contains the base color and specified harmonies, e.g., triadic colors. The columns that follow contain tints, tones, or shades of the harmonic colors for additional color choices, similar to `monoPalette()`.
█ EXAMPLE CODE
The example code at the end of the script generates and visualizes color schemes by processing user inputs. The code builds the scheme's palette based on the "Base color" input and the additional inputs in the "Settings/Inputs" tab:
• "Palette type" specifies whether the palette uses a custom gradient, monochromatic base color variants, or color harmonies with monochromatic variants.
• "Target color" sets the top color for the "Gradient" palette type.
• The "Gray luminance" inputs determine variation behavior for "Monochromatic" and "Harmony" palette types. If "Auto" is selected, the palette mixes the base color toward white or black based on its brightness. Otherwise, it mixes the color toward the grayscale color with the specified relative luminance (from 0 to 1).
• "Harmony type" specifies the color harmony used in the palette. Each row in the palette corresponds to one of the harmonious colors, starting with the base color.
The code creates a table on the first bar to display the collection of calculated colors. Each cell in the table shows the color's `getHexString()` value in a tooltip for simple inspection.
Look first. Then leap.
█ EXPORTED FUNCTIONS
Below is a complete list of the functions and overloads exported by this library.
getRGB(source)
Retrieves the sRGB red, green, blue, and transparency components of a "color" value.
getHexString(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a string representing the corresponding color's hexadecimal form.
getHexString(source)
(Overload 2 of 2) Converts a "color" value to a string representing the sRGB color's hexadecimal form.
hexStringToRGB(source)
Converts a string representing an sRGB color's hexadecimal form to a set of decimal channel values.
hexStringToColor(source)
Converts a string representing an sRGB color's hexadecimal form to a "color" value.
getLRGB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a set of linear RGB values with specified transparency information.
getLRGB(source)
(Overload 2 of 2) Retrieves linear RGB channel values and transparency information from a "color" value.
lrgbToRGB(lr, lg, lb, t)
Converts a set of linear RGB channel values to a set of sRGB values with specified transparency information.
lrgbToColor(lr, lg, lb, t)
Converts a set of linear RGB channel values and transparency information to a "color" value.
getHSL(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSL values with specified transparency information.
getHSL(source)
(Overload 2 of 2) Retrieves HSL channel values and transparency information from a "color" value.
hslToRGB(h, s, l, t)
Converts a set of HSL channel values to a set of sRGB values with specified transparency information.
hslToColor(h, s, l, t)
Converts a set of HSL channel values and transparency information to a "color" value.
getHSV(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSV values with specified transparency information.
getHSV(source)
(Overload 2 of 2) Retrieves HSV channel values and transparency information from a "color" value.
hsvToRGB(h, s, v, t)
Converts a set of HSV channel values to a set of sRGB values with specified transparency information.
hsvToColor(h, s, v, t)
Converts a set of HSV channel values and transparency information to a "color" value.
getHWB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HWB values with specified transparency information.
getHWB(source)
(Overload 2 of 2) Retrieves HWB channel values and transparency information from a "color" value.
hwbToRGB(h, w, b, t)
Converts a set of HWB channel values to a set of sRGB values with specified transparency information.
hwbToColor(h, w, b, t)
Converts a set of HWB channel values and transparency information to a "color" value.
getXYZ(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of XYZ values with specified transparency information.
getXYZ(source)
(Overload 2 of 2) Retrieves XYZ channel values and transparency information from a "color" value.
xyzToRGB(x, y, z, t)
Converts a set of XYZ channel values to a set of sRGB values with specified transparency information
xyzToColor(x, y, z, t)
Converts a set of XYZ channel values and transparency information to a "color" value.
getXYY(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of xyY values with specified transparency information.
getXYY(source)
(Overload 2 of 2) Retrieves xyY channel values and transparency information from a "color" value.
xyyToRGB(xc, yc, y, t)
Converts a set of xyY channel values to a set of sRGB values with specified transparency information.
xyyToColor(xc, yc, y, t)
Converts a set of xyY channel values and transparency information to a "color" value.
getLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELAB values with specified transparency information.
getLAB(source)
(Overload 2 of 2) Retrieves CIELAB channel values and transparency information from a "color" value.
labToRGB(l, a, b, t)
Converts a set of CIELAB channel values to a set of sRGB values with specified transparency information.
labToColor(l, a, b, t)
Converts a set of CIELAB channel values and transparency information to a "color" value.
getOKLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklab values with specified transparency information.
getOKLAB(source)
(Overload 2 of 2) Retrieves Oklab channel values and transparency information from a "color" value.
oklabToRGB(l, a, b, t)
Converts a set of Oklab channel values to a set of sRGB values with specified transparency information.
oklabToColor(l, a, b, t)
Converts a set of Oklab channel values and transparency information to a "color" value.
getLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELCh values with specified transparency information.
getLCH(source)
(Overload 2 of 2) Retrieves CIELCh channel values and transparency information from a "color" value.
lchToRGB(l, c, h, t)
Converts a set of CIELCh channel values to a set of sRGB values with specified transparency information.
lchToColor(l, c, h, t)
Converts a set of CIELCh channel values and transparency information to a "color" value.
getOKLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklch values with specified transparency information.
getOKLCH(source)
(Overload 2 of 2) Retrieves Oklch channel values and transparency information from a "color" value.
oklchToRGB(l, c, h, t)
Converts a set of Oklch channel values to a set of sRGB values with specified transparency information.
oklchToColor(l, c, h, t)
Converts a set of Oklch channel values and transparency information to a "color" value.
contrastRatio(value1, value2)
Calculates the contrast ratio between two colors values based on the formula from version 2 of the Web Content Accessibility Guidelines (WCAG).
isLightTheme(source)
Detects whether a background color represents a light theme or dark theme, based on the amount of contrast between the color and the white and black points.
grayscale(source)
Calculates the grayscale version of a color with the same relative luminance (i.e., brightness).
negative(source, colorSpace)
Calculates the negative (i.e., inverted) form of a specified color.
complement(source, colorSpace)
Calculates the complementary color for a `source` color using a cylindrical color space.
analogousColors(source, colorSpace)
Calculates the analogous colors for a `source` color using a cylindrical color space.
splitComplements(source, colorSpace)
Calculates the split-complementary colors for a `source` color using a cylindrical color space.
triadicColors(source, colorSpace)
Calculates the two triadic colors for a `source` color using a cylindrical color space.
tetradicColors(source, colorSpace, square)
Calculates the three square or rectangular tetradic colors for a `source` color using a cylindrical color space.
pentadicColors(source, colorSpace)
Calculates the four pentadic colors for a `source` color using a cylindrical color space.
hexadicColors(source, colorSpace)
Calculates the five hexadic colors for a `source` color using a cylindrical color space.
add(value1, value2, transpWeight)
Additively mixes two "color" values, with optional transparency weighting.
overlay(fg, bg)
Estimates the resulting color that appears on the chart when placing one color over another.
fromGradient(value, bottomValue, topValue, bottomColor, topColor, colorSpace)
Calculates the gradient color that corresponds to a specific value based on a defined value range and color space.
fromMultiStepGradient(value, steps, colors, colorSpace)
Calculates a multi-step gradient color that corresponds to a specific value based on an array of step points, an array of corresponding colors, and a color space.
gradientPalette(baseColor, stopColor, steps, strength, model)
Generates a palette from a gradient between two base colors.
monoPalette(baseColor, grayLuminance, variations, strength, colorSpace)
Generates a monochromatic palette from a specified base color.
harmonyPalette(baseColor, harmonyType, grayLuminance, variations, strength, colorSpace)
Generates a palette consisting of harmonious base colors and their monochromatic variants.
Universal Sentiment Oscillator with Trade RecommendationsUniversal Sentiment Oscillator & Strategy Guide
Summary
This all-in-one indicator is designed to be a comprehensive co-pilot for your trading journey. It moves beyond simple buy/sell signals by analyzing the underlying market sentiment and providing a dynamic, risk-assessed guide of potential trading strategies. Whether you're a novice learning the ropes or an expert seeking confirmation, this tool provides a structured framework for making smarter, more informed decisions in stocks, options, and futures.
How It Works
The core of the indicator is the Sentiment Oscillator, which calculates a score from -5 (Extremely Bearish) to +5 (Extremely Bullish) on every bar. This isn't just a single measurement; it's a weighted aggregate of several key technical conditions:
Trend Analysis: Price position relative to the 20, 50, and 200 EMAs.
Momentum Analysis: The current RSI value.
Hybrid Analysis: The state of the MACD and its signal line.
These factors are intelligently combined and normalized to produce a single, intuitive sentiment score, giving you an at-a-glance understanding of the market's pulse.
Core Features
Dynamic Trade Recommendation Table:
The informational heart of the indicator. This on-chart table provides a list of potential trades perfectly aligned with the current sentiment score.
Risk-Ranked Strategies:
All suggested trades are logically ordered by risk, helping you quickly identify strategies that match your comfort level.
Adjusted Trade Suggestions:
The indicator analyzes sentiment momentum (the score vs. its signal line) to provide proactive, forward-looking trade ideas based on where the market might be heading next.
Customizable Trading Styles:
Tell the indicator if you are a Conservative, Neutral, or Aggressive trader, and the "Adjusted Trade Suggestion" will automatically tailor its recommendations to your personal risk preference.
Context-Aware Futures Mode:
When viewing a futures contract, enable this mode to switch all recommendations from stock/options to futures-specific actions (e.g., "Cautious Long," "Monitor Range").
Predictive Sentiment Cone:
Visualize the potential short-term path of sentiment based on current momentum, helping you anticipate future conditions.
Fully Customizable:
Every parameter—from EMA lengths to trade filters—can be adjusted, allowing you to fine-tune the indicator to your exact specifications.
How to Use This Indicator
This tool is flexible and can be integrated into many trading systems. Here is a powerful, professional approach:
Top-Down Analysis (for Swing or Position Trading):
Establish the Trend: Start on the higher timeframes (Monthly, Weekly, Daily). Use the oscillator's color and score to define the dominant, long-term market sentiment. You only want to look for trades that align with this macro trend.
Refine the Entry: Drop down to the medium timeframes (4-Hour, 1-Hour). Wait for the sentiment on these charts to come into alignment with the higher-timeframe trend. This pullback or consolidation is your "zone of interest."
Pinpoint the Execution: Move to a lower timeframe (e.g., 15-Minute). Use the Adjusted Trade Suggestion and Sentiment Momentum to find a precise entry as momentum begins to shift back in the direction of the primary trend. You can set alerts on the oscillator's zero-line for early warnings of a sentiment shift.
As a Confirmation Tool: If you have an existing trade idea, use the indicator to validate it. Does the sentiment score align with your bullish or bearish thesis? Does the momentum confirm that now is a good time to enter?
As an Idea Generation Tool: Unsure what to trade? Browse different assets and let the indicator's "Primary Trades" and "Adjusted Trade Suggestion" present you with a list of risk-assessed ideas that you can then investigate further.
Disclaimer: This is an analysis tool and should not be considered financial advice. All forms of trading involve substantial risk. You should not trade with money you cannot afford to lose. Always perform your own due diligence and use this indicator as one component of a complete trading plan.
Advanced Volume Profile Levels (Working)This indicator is a powerful tool for traders who use volume profile analysis to identify significant price levels. It automatically calculates and plots the three most critical levels derived from volume data—the Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL)—for three different timeframes simultaneously: the previous week, the previous day, and the current, live session.
The primary focus of this indicator is unmatched readability. It features dynamic, floating labels that stay clear of price action, combined with a high-contrast design to ensure you can see these crucial levels at a glance without any visual clutter.
Key Features
Multi-Session Analysis: Gain a complete market perspective by viewing levels from different timeframes on a single chart.
Weekly Levels: Identify the long-term areas of value and control from the prior week's trading activity.
Daily Levels: Pinpoint the most significant levels from the previous day's Regular Trading Hours (9:30 AM - 4:00 PM ET).
Current Session Levels: Track the developing value area and POC in real-time with a dynamic profile that updates with every bar.
Advanced Visuals for Clarity:
Floating Labels: The labels for the weekly and daily levels intelligently "float" on the right side of your chart, moving with the price to ensure they are never obscured by candles.
High-Contrast Design: Labels are designed for maximum readability with solid, opaque backgrounds and an automatic text color (black or white) that provides the best contrast against your chosen level color.
Trailing Current Levels: The labels for the current session neatly trail the most recent price action, providing an intuitive view of intra-day developments.
Comprehensive Customization: Tailor the indicator's appearance to your exact preferences.
Toggle each profile (Weekly, Daily, Current) on or off.
Individually set the color, line style (solid, dashed, dotted), and line width for each set of levels.
Adjust the text size, background transparency, and horizontal offset for all on-chart labels.
Information Hub:
On-Chart Price Labels: Each label clearly displays both the level name and its precise price (e.g., "D-POC: 22068.50").
Corner Table: An optional, clean table in the top-right corner provides a quick summary of all active weekly and daily level values.
Built-in Alerts:
Create alerts directly from the script to be notified whenever the price crosses above or below the weekly or daily Point of Control, helping you stay on top of key market movements.
How to Use
The levels provided by this indicator serve as powerful reference points for market activity:
Point of Control (POC): The price level with the highest traded volume. It acts as a magnet for price and represents the area of "fair value" for that session. Markets often test or revert to the POC.
Value Area High (VAH) & Value Area Low (VAL): These levels define the range where approximately 70% of the session's volume occurred. They are critical support and resistance zones.
Price acceptance above the VAH may signal a bullish breakout.
Price acceptance below the VAL may signal a bearish breakdown.
Rejection at the VAH or VAL often leads to price moving back across the value area towards the POC.
MACD Full [Titans_Invest]MACD Full — A Smarter, More Flexible MACD.
Looking for a MACD with real customization power?
We present one of the most complete public MACD indicators available on TradingView.
It maintains the classic MACD structure but is enhanced with 20 fully customizable long entry conditions and 20 short entry conditions , giving you precise control over your strategy.
Plus, it’s fully automation-ready, making it ideal for quantitative systems and algorithmic trading.
Whether you're a discretionary trader or a bot developer, this tool is built to seamlessly adapt to your style.
⯁ WHAT IS THE MACD❓
The Moving Average Convergence Divergence (MACD) is a technical analysis indicator developed by Gerald Appel. It measures the relationship between two moving averages of a security’s price to identify changes in momentum, direction, and strength of a trend. The MACD is composed of three components: the MACD line, the signal line, and the histogram.
⯁ HOW TO USE THE MACD❓
The MACD is calculated by subtracting the 26-period Exponential Moving Average (EMA) from the 12-period EMA. A 9-period EMA of the MACD line, called the signal line, is then plotted on top of the MACD line. The MACD histogram represents the difference between the MACD line and the signal line.
Here are the primary signals generated by the MACD:
Bullish Crossover: When the MACD line crosses above the signal line, indicating a potential buy signal.
Bearish Crossover: When the MACD line crosses below the signal line, indicating a potential sell signal.
Divergence: When the price of the security diverges from the MACD, suggesting a potential reversal.
Overbought/Oversold Conditions: Indicated by the MACD line moving far away from the signal line, though this is less common than in oscillators like the RSI.
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔹 MACD > Signal Smoothing
🔹 MACD < Signal Smoothing
🔹 Histogram > 0
🔹 Histogram < 0
🔹 Histogram Positive
🔹 Histogram Negative
🔹 MACD > 0
🔹 MACD < 0
🔹 Signal > 0
🔹 Signal < 0
🔹 MACD > Histogram
🔹 MACD < Histogram
🔹 Signal > Histogram
🔹 Signal < Histogram
🔹 MACD (Crossover) Signal
🔹 MACD (Crossunder) Signal
🔹 MACD (Crossover) 0
🔹 MACD (Crossunder) 0
🔹 Signal (Crossover) 0
🔹 Signal (Crossunder) 0
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔸 MACD > Signal Smoothing
🔸 MACD < Signal Smoothing
🔸 Histogram > 0
🔸 Histogram < 0
🔸 Histogram Positive
🔸 Histogram Negative
🔸 MACD > 0
🔸 MACD < 0
🔸 Signal > 0
🔸 Signal < 0
🔸 MACD > Histogram
🔸 MACD < Histogram
🔸 Signal > Histogram
🔸 Signal < Histogram
🔸 MACD (Crossover) Signal
🔸 MACD (Crossunder) Signal
🔸 MACD (Crossover) 0
🔸 MACD (Crossunder) 0
🔸 Signal (Crossover) 0
🔸 Signal (Crossunder) 0
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : MACD Full
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
LB | SB | OH | OL (Auto Futures OI)This indicator is for trading purposes, particularly in futures markets given the inclusion of open interest (OI) data.
Indicator Name and Overlay: The indicator is named "LB | SB | OH | OL" and is set to overlay on the price chart (overlay=true).
Override Symbol Input: Users can input a symbol to override the default symbol for analysis.
Open Interest Data Retrieval: It retrieves open interest data for the specified symbol and time frame. If no data is found, it generates a runtime error.
Dashboard Configuration: Users can choose to display a dashboard either at the top right, bottom right, or bottom left of the chart.
Calculations:
It calculates the percentage change in open interest (oi_change).
It calculates the percentage change in price compared to the previous day's close (price_change).
Build Up Conditions:
Long Build Up: When there's a significant increase in open interest (OIChange threshold) and price rises (PriceChange threshold).
Short Build Up: When there's a significant increase in open interest (OIChange threshold) and price falls (PriceChange threshold).
Display Table:
It creates a table on the chart showing the build-up conditions, open interest change percentage, and price change percentage.
Labeling:
It allows for the labeling of buy and sell conditions based on price movements.
Overall, this indicator provides a visual representation of open interest and price movements, helping traders identify potential trading opportunities based on build-up conditions and price behavior.
The "LB | SB | OH | OL" indicator is a tool designed to assist traders in analyzing price movements and open interest (OI) changes in FNO markets. This indicator combines various elements to provide insights into long build-up (LB), short build-up (SB), open-high (OH), and open-low (OL) scenarios.
Key features of the indicator include:
Override Symbol Input: Traders can override the default symbol and input their preferred symbol for analysis.
Open Interest Data: The indicator retrieves open interest data for the selected symbol and time frame, facilitating analysis based on changes in open interest.
Dashboard: The indicator features a customizable dashboard that displays key information such as build-up conditions, OI change, and price change.
Build-Up Conditions: The indicator identifies long build-up and short build-up scenarios based on user-defined thresholds for OI change and price change percentages.
Customization Options: Traders have the flexibility to customize various aspects of the indicator, including colors for long build-up, short build-up, positive OI change, negative OI change, positive price change, and negative price change.
Label Plots: Buy and sell labels are plotted on the chart to highlight potential trading opportunities. Traders can customize the colors and text colors of these labels based on their preferences.
Overall, the "LB | SB | OH | OL" indicator offers traders a comprehensive tool for analyzing price movements and open interest changes, helping them make informed trading decisions in the FNO markets.
Beta Tracker [theUltimator5]This script calculates the Pearson correlation coefficient between the charted symbol and a dynamic composite of up to four other user-defined tickers. The goal is to track how closely the current asset’s normalized price behavior aligns with, or diverges from, the selected group (or basket)
How can this indicator be valuable?
You can compare the correlation of your current symbol against a basket of other tickers to see if it is moving independently, or being pulled with the basket.... or is it moving against the basket.
It can be used to help identify 'swap' baskets of stocks or other tickers that tend to generally move together and visually show when your current ticker diverges from the basket.
It can be used to track beta (or negative beta) with the market or with a specific ticker.
This is best used as a supplement to other trading signals to give a more complete picture of the external forces potentially pulling or pushing the price action of the ticker.
🛠️ How It Works
The current symbol and each selected comparison ticker are normalized over a custom lookback window, allowing fair pattern-based comparison regardless of price scale.
The normalized values from 1 to 4 selected tickers are averaged into a composite, which represents the group’s collective movement.
A Pearson correlation coefficient is computed over a separate correlation lookback period, measuring the relationship between the current asset and the composite.
The result is plotted as a dynamic line, with color gradients:
Blue = strongly correlated (near +1)
Orange = strongly inverse correlation (near –1)
Intermediate values fade proportionally
A highlighted background appears when the correlation drops below a user-defined threshold (e.g. –0.7), helping identify strong negative beta periods visually.
A toggleable info table displays which tickers are currently being compared, along with customizable screen positioning.
⚙️ User Inputs
Ticker 1–4: Symbols to compare the current asset against (blank = ignored)
Normalization Lookback: Period to normalize each series
Correlation Lookback: Period over which correlation is calculated
Negative Correlation Highlight: Toggle for background alert and threshold level
Comparison Table: Toggle and position controls for an on-screen summary of selected tickers
imgur.com
⚠️ Notes
The script uses request.security() to pull data from external symbols; these must be available for the selected chart timeframe.
A minimum of one valid ticker must be provided for the script to calculate a composite and render correlation.
Clock&Flow MM+InfoThis script is an indicator that helps you visualize various moving averages directly on the price chart and gain some additional insights.
Here's what it essentially does:
Displays Different Moving Averages: You can choose to see groups of moving averages with different periods, set to nominal cyclical durations. You can also opt to configure them for instruments traded with classic or extended trading hours (great for Futures), and they'll adapt to your chosen timeframe.
Colored Bands: It allows you to add colored bands to the background of the chart that change weekly or daily, helping you visualize time cycles. You can customize the band colors.
Information Table: A small table appears in a corner of the chart, indicating which cycle the moving averages belong to (daily, weekly, monthly, etc.), corresponding to the timeframe you are using on the chart.
Customization: You can easily enable or disable the various groups of moving averages or the colored bands through the indicator's settings.
It's a useful tool for traders who use moving averages to identify trends and support/resistance levels, and who want a quick overview of market cycles.
Questo script è un indicatore che aiuta a visualizzare diverse medie mobili direttamente sul grafico dei prezzi e a ottenere alcune informazioni aggiuntive.
In pratica, fa queste cose:
Mostra diverse medie mobili: Puoi scegliere di vedere gruppi di medie mobili con periodi diversi impostati sulle durate cicliche nominali. Puoi scegliere se impostarle per uno strumento quotato con orario di negoziazione classico o esteso (ottimo per i Futures) e si adattano al tuo timeframe).
Bande colorate: Ti permette di aggiungere delle bande colorate sullo sfondo del grafico che cambiano ogni settimana o ogni giorno, per aiutarti a visualizzare i cicli temporali. Puoi scegliere il colore delle bande.
Tabella informativa: In un angolo del grafico, compare una piccola tabella che indica a quale ciclo appartengono le medie mobili (giornaliero, settimanale, mensile, ecc.) e corrispondono in base al timeframe che stai usando sul grafico.
Personalizzazione: Puoi facilmente attivare o disattivare i vari gruppi di medie mobili o le bande colorate tramite le impostazioni dell'indicatore.
È uno strumento utile per i trader che usano le medie mobili per identificare trend e supporti/resistenze, e che vogliono avere un colpo d'occhio sui cicli di mercato.
RTH Session Range Position (0-100) with EMAA Pine Script indicator designed to help traders understand where the current price is located within the Regular Trading Hours (RTH) session range, from 0 (session low) to 100 (session high). It also plots a smoothed EMA of this position to provide insight into momentum or trend during the RTH session.
What the Indicator Does
Defines RTH (Regular Trading Hours):
Start: 9:30 AM
End: 4:00 PM
These are typical US equity market hours.
Tracks the session's high and low during RTH:
sessionHigh and sessionLow update only during RTH.
Calculates position of the current price within the RTH range:
Formula: ((close - sessionLow) / (sessionHigh - sessionLow)) * 100
Result is a percentage:
0 = at session low
100 = at session high
50 = middle of session range
Calculates an EMA of that position (posEMA):
Smooths out the raw position to help visualize momentum within the range.
Plots and table:
Plots pos and posEMA on a separate chart pane.
Adds horizontal lines at key levels (0, 30, 50, 70, 100).
Table shows current values for Position, EMA, and Range.
Visual cues:
bgcolor highlights when pos crosses over or under the EMA — potential momentum shifts.
Alerts:
Cross above/below 50 (session midpoint).
Cross above/below EMA.
How to Use It Effectively
1. Session Strength & Momentum
Position above 70: Price is near session highs — strong upward momentum.
Position below 30: Price is near session lows — strong downward momentum.
Use the EMA of position to filter out noise and identify trends.
2. Breakout or Reversal Detection
Cross above EMA: Momentum may be turning bullish.
Cross below EMA: Momentum may be turning bearish.
These crosses (especially near mid-levels like 50) can hint at session trend shifts.
3. Range Context for Entries
If you're a mean-reversion trader, look for:
Price > 70 + turning down below EMA → possible short.
Price < 30 + turning up above EMA → possible long.
For breakout traders, you might wait for:
Crosses above 70 with EMA support.
Crosses below 30 with EMA resistance.
4. Confirmation Tool
Use this indicator alongside others to confirm:
Whether price action has strength within the day.
Whether breakouts have real momentum or are extended already.
Bollinger Bands Z-ScoreBollinger Bands Z-Score Indicator
This indicator transforms the classic Bollinger Bands into a Z-Score oscillator displayed in a separate pane. It standardizes the Bollinger Bands’ basis line by calculating the Z-Score over a user-defined period, allowing you to see how many standard deviations the price deviates from the mean.
Upper and Lower Fixed Lines: These are set at +2 and -2 Z-Score levels, representing common thresholds for overbought and oversold conditions.
Z-Score Oscillator: The normalized Bollinger Bands oscillate smoothly between these fixed boundaries, providing a clearer perspective on volatility extremes.
Z-Score Table: Displayed on the right side, this table shows the current Z-Score value, along with fixed maximum (+2) and minimum (-2) limits, making it easy to track current momentum and volatility in real-time.
Use Cases:
Identify overextended price moves with standardized volatility measures.
Spot potential reversals or continuation setups by observing the Z-Score crossing key levels.
Complement traditional Bollinger Bands analysis with a statistically normalized perspective.
Input Parameters:
Length: The period used for Bollinger Bands and Z-Score calculation.
MA Type: Choose the moving average type for the basis line (SMA, EMA, SMMA, WMA, VWMA).
StdDev: Multiplier for the standard deviation bands.
Z-Score Length: The lookback period used to compute the mean and standard deviation for Z-Score normalization.
This indicator is perfect for traders seeking a statistically sound and visually clear representation of Bollinger Bands volatility and extremes.
ADX Forecast [Titans_Invest]ADX Forecast
This isn’t just another ADX indicator — it’s the most powerful and complete ADX tool ever created, and without question the best ADX indicator on TradingView, possibly even the best in the world.
ADX Forecast represents a revolutionary leap in trend strength analysis, blending the timeless principles of the classic ADX with cutting-edge predictive modeling. For the first time on TradingView, you can anticipate future ADX movements using scientifically validated linear regression — a true game-changer for traders looking to stay ahead of trend shifts.
1. Real-Time ADX Forecasting
By applying least squares linear regression, ADX Forecast projects the future trajectory of the ADX with exceptional accuracy. This forecasting power enables traders to anticipate changes in trend strength before they fully unfold — a vital edge in fast-moving markets.
2. Unmatched Customization & Precision
With 26 long entry conditions and 26 short entry conditions, this indicator accounts for every possible ADX scenario. Every parameter is fully customizable, making it adaptable to any trading strategy — from scalping to swing trading to long-term investing.
3. Transparency & Advanced Visualization
Visualize internal ADX dynamics in real time with interactive tags, smart flags, and fully adjustable threshold levels. Every signal is transparent, logic-based, and engineered to fit seamlessly into professional-grade trading systems.
4. Scientific Foundation, Elite Execution
Grounded in statistical precision and machine learning principles, ADX Forecast upgrades the classic ADX from a reactive lagging tool into a forward-looking trend prediction engine. This isn’t just an indicator — it’s a scientific evolution in trend analysis.
⯁ SCIENTIFIC BASIS LINEAR REGRESSION
Linear Regression is a fundamental method of statistics and machine learning, used to model the relationship between a dependent variable y and one or more independent variables 𝑥.
The general formula for a simple linear regression is given by:
y = β₀ + β₁x + ε
β₁ = Σ((xᵢ - x̄)(yᵢ - ȳ)) / Σ((xᵢ - x̄)²)
β₀ = ȳ - β₁x̄
Where:
y = is the predicted variable (e.g. future value of RSI)
x = is the explanatory variable (e.g. time or bar index)
β0 = is the intercept (value of 𝑦 when 𝑥 = 0)
𝛽1 = is the slope of the line (rate of change)
ε = is the random error term
The goal is to estimate the coefficients 𝛽0 and 𝛽1 so as to minimize the sum of the squared errors — the so-called Random Error Method Least Squares.
⯁ LEAST SQUARES ESTIMATION
To minimize the error between predicted and observed values, we use the following formulas:
β₁ = /
β₀ = ȳ - β₁x̄
Where:
∑ = sum
x̄ = mean of x
ȳ = mean of y
x_i, y_i = individual values of the variables.
Where:
x_i and y_i are the means of the independent and dependent variables, respectively.
i ranges from 1 to n, the number of observations.
These equations guarantee the best linear unbiased estimator, according to the Gauss-Markov theorem, assuming homoscedasticity and linearity.
⯁ LINEAR REGRESSION IN MACHINE LEARNING
Linear regression is one of the cornerstones of supervised learning. Its simplicity and ability to generate accurate quantitative predictions make it essential in AI systems, predictive algorithms, time series analysis, and automated trading strategies.
By applying this model to the ADX, you are literally putting artificial intelligence at the heart of a classic indicator, bringing a new dimension to technical analysis.
⯁ VISUAL INTERPRETATION
Imagine an ADX time series like this:
Time →
ADX →
The regression line will smooth these values and extend them n periods into the future, creating a predicted trajectory based on the historical moment. This line becomes the predicted ADX, which can be crossed with the actual ADX to generate more intelligent signals.
⯁ SUMMARY OF SCIENTIFIC CONCEPTS USED
Linear Regression Models the relationship between variables using a straight line.
Least Squares Minimizes the sum of squared errors between prediction and reality.
Time Series Forecasting Estimates future values based on historical data.
Supervised Learning Trains models to predict outputs from known inputs.
Statistical Smoothing Reduces noise and reveals underlying trends.
⯁ WHY THIS INDICATOR IS REVOLUTIONARY
Scientifically-based: Based on statistical theory and mathematical inference.
Unprecedented: First public ADX with least squares predictive modeling.
Intelligent: Built with machine learning logic.
Practical: Generates forward-thinking signals.
Customizable: Flexible for any trading strategy.
⯁ CONCLUSION
By combining ADX with linear regression, this indicator allows a trader to predict market momentum, not just follow it.
ADX Forecast is not just an indicator — it is a scientific breakthrough in technical analysis technology.
⯁ Example of simple linear regression, which has one independent variable:
⯁ In linear regression, observations ( red ) are considered to be the result of random deviations ( green ) from an underlying relationship ( blue ) between a dependent variable ( y ) and an independent variable ( x ).
⯁ Visualizing heteroscedasticity in a scatterplot against 100 random fitted values using Matlab:
⯁ The data sets in the Anscombe's quartet are designed to have approximately the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but are graphically very different. This illustrates the pitfalls of relying solely on a fitted model to understand the relationship between variables.
⯁ The result of fitting a set of data points with a quadratic function:
_______________________________________________________________________
🥇 This is the world’s first ADX indicator with: Linear Regression for Forecasting 🥇_______________________________________________________________________
_________________________________________________
🔮 Linear Regression: PineScript Technical Parameters 🔮
_________________________________________________
Forecast Types:
• Flat: Assumes prices will remain the same.
• Linreg: Makes a 'Linear Regression' forecast for n periods.
Technical Information:
ta.linreg (built-in function)
Linear regression curve. A line that best fits the specified prices over a user-defined time period. It is calculated using the least squares method. The result of this function is calculated using the formula: linreg = intercept + slope * (length - 1 - offset), where intercept and slope are the values calculated using the least squares method on the source series.
Syntax:
• Function: ta.linreg()
Parameters:
• source: Source price series.
• length: Number of bars (period).
• offset: Offset.
• return: Linear regression curve.
This function has been cleverly applied to the RSI, making it capable of projecting future values based on past statistical trends.
______________________________________________________
______________________________________________________
⯁ WHAT IS THE ADX❓
The Average Directional Index (ADX) is a technical analysis indicator developed by J. Welles Wilder. It measures the strength of a trend in a market, regardless of whether the trend is up or down.
The ADX is an integral part of the Directional Movement System, which also includes the Plus Directional Indicator (+DI) and the Minus Directional Indicator (-DI). By combining these components, the ADX provides a comprehensive view of market trend strength.
⯁ HOW TO USE THE ADX❓
The ADX is calculated based on the moving average of the price range expansion over a specified period (usually 14 periods). It is plotted on a scale from 0 to 100 and has three main zones:
• Strong Trend: When the ADX is above 25, indicating a strong trend.
• Weak Trend: When the ADX is below 20, indicating a weak or non-existent trend.
• Neutral Zone: Between 20 and 25, where the trend strength is unclear.
______________________________________________________
______________________________________________________
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔹 +DI > -DI
🔹 +DI < -DI
🔹 +DI > ADX
🔹 +DI < ADX
🔹 -DI > ADX
🔹 -DI < ADX
🔹 ADX > Threshold
🔹 ADX < Threshold
🔹 +DI > Threshold
🔹 +DI < Threshold
🔹 -DI > Threshold
🔹 -DI < Threshold
🔹 +DI (Crossover) -DI
🔹 +DI (Crossunder) -DI
🔹 +DI (Crossover) ADX
🔹 +DI (Crossunder) ADX
🔹 +DI (Crossover) Threshold
🔹 +DI (Crossunder) Threshold
🔹 -DI (Crossover) ADX
🔹 -DI (Crossunder) ADX
🔹 -DI (Crossover) Threshold
🔹 -DI (Crossunder) Threshold
🔮 +DI (Crossover) -DI Forecast
🔮 +DI (Crossunder) -DI Forecast
🔮 ADX (Crossover) +DI Forecast
🔮 ADX (Crossunder) +DI Forecast
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔸 +DI > -DI
🔸 +DI < -DI
🔸 +DI > ADX
🔸 +DI < ADX
🔸 -DI > ADX
🔸 -DI < ADX
🔸 ADX > Threshold
🔸 ADX < Threshold
🔸 +DI > Threshold
🔸 +DI < Threshold
🔸 -DI > Threshold
🔸 -DI < Threshold
🔸 +DI (Crossover) -DI
🔸 +DI (Crossunder) -DI
🔸 +DI (Crossover) ADX
🔸 +DI (Crossunder) ADX
🔸 +DI (Crossover) Threshold
🔸 +DI (Crossunder) Threshold
🔸 -DI (Crossover) ADX
🔸 -DI (Crossunder) ADX
🔸 -DI (Crossover) Threshold
🔸 -DI (Crossunder) Threshold
🔮 +DI (Crossover) -DI Forecast
🔮 +DI (Crossunder) -DI Forecast
🔮 ADX (Crossover) +DI Forecast
🔮 ADX (Crossunder) +DI Forecast
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Linear Regression: (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Linear Regression (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : ADX Forecast
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
Sector 50MA vs 200MA ComparisonThis TradingView indicator compares the 50-period Moving Average (50MA) and 200-period Moving Average (200MA) of a selected market sector or index, providing a visual and analytical tool to assess relative strength and trend direction. Here's a detailed breakdown of its functionality:
Purpose: The indicator plots the 50MA and 200MA of a chosen sector or index on a separate panel, highlighting their relationship to identify bullish (50MA > 200MA) or bearish (50MA < 200MA) trends. It also includes a histogram and threshold lines to gauge momentum and key levels.
Inputs:
Resolution: Allows users to select the timeframe for calculations (Daily, Weekly, or Monthly; default is Daily).
Sector Selection: Users can choose from a list of sectors or indices, including Tech, Financials, Consumer Discretionary, Utilities, Energy, Communication Services, Materials, Industrials, Health Care, Consumer Staples, Real Estate, S&P 500 Value, S&P 500 Growth, S&P 500, NASDAQ, Russell 2000, and S&P SmallCap 600. Each sector maps to specific ticker pairs for 50MA and 200MA data.
Data Retrieval:
The indicator fetches closing prices for the 50MA and 200MA of the selected sector using the request.security function, based on the chosen timeframe and ticker pairs.
Visual Elements:
Main Chart:
Plots the 50MA (blue line) and 200MA (red line) for the selected sector.
Fills the area between the 50MA and 200MA with green (when 50MA > 200MA, indicating bullishness) or red (when 50MA < 200MA, indicating bearishness).
Threshold Lines:
Horizontal lines at 0 (zero line), 20 (lower threshold), 50 (center), 80 (upper threshold), and 100 (upper limit) provide reference points for the 50MA's position.
Fills between 0-20 (green) and 80-100 (red) highlight key zones for potential overbought or oversold conditions.
Sector Information Table:
A table in the top-right corner displays the selected sector and its corresponding 50MA and 200MA ticker symbols for clarity.
Alerts:
Generates alert conditions for:
Bullish Crossover: When the 50MA crosses above the 200MA (indicating potential upward momentum).
Bearish Crossover: When the 50MA crosses below the 200MA (indicating potential downward momentum).
Use Case:
Traders can use this indicator to monitor the relative strength of a sector's short-term trend (50MA) against its long-term trend (200MA).
The visual fill between the moving averages and the threshold lines helps identify trend direction, momentum, and potential reversal points.
The sector selection feature allows for comparative analysis across different market segments, aiding in sector rotation strategies or market trend analysis.
This indicator is ideal for traders seeking to analyze sector performance, identify trend shifts, and make informed decisions based on moving average crossovers and momentum thresholds.
ADX Full [Titans_Invest]ADX Full
This is, without a doubt, the most complete ADX indicator available on TradingView — and quite possibly the most advanced in the world. We took the classic ADX structure and fully optimized it, preserving its essence while elevating its functionality to a whole new level. Every aspect has been enhanced — from internal logic to full visual customization. Now you can see exactly what’s happening inside the indicator in real time, with tags, flags, and informative levels. This indicator includes over 22 long entry conditions and 22 short entry conditions , covering absolutely every possibility the ADX can offer. Everything is transparent, adjustable, and ready to fit seamlessly into any professional trading strategy. This isn’t just another ADX — it’s the definitive ADX, built for traders who take the market seriously.
⯁ WHAT IS THE ADX❓
The Average Directional Index (ADX) is a technical analysis indicator developed by J. Welles Wilder. It measures the strength of a trend in a market, regardless of whether the trend is up or down.
The ADX is an integral part of the Directional Movement System, which also includes the Plus Directional Indicator (+DI) and the Minus Directional Indicator (-DI). By combining these components, the ADX provides a comprehensive view of market trend strength.
⯁ HOW TO USE THE ADX❓
The ADX is calculated based on the moving average of the price range expansion over a specified period (usually 14 periods). It is plotted on a scale from 0 to 100 and has three main zones:
Strong Trend: When the ADX is above 25, indicating a strong trend.
Weak Trend: When the ADX is below 20, indicating a weak or non-existent trend.
Neutral Zone: Between 20 and 25, where the trend strength is unclear.
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔹 +DI > -DI
🔹 +DI < -DI
🔹 +DI > ADX
🔹 +DI < ADX
🔹 -DI > ADX
🔹 -DI < ADX
🔹 ADX > Threshold
🔹 ADX < Threshold
🔹 +DI > Threshold
🔹 +DI < Threshold
🔹 -DI > Threshold
🔹 -DI < Threshold
🔹 +DI (Crossover) -DI
🔹 +DI (Crossunder) -DI
🔹 +DI (Crossover) ADX
🔹 +DI (Crossunder) ADX
🔹 +DI (Crossover) Threshold
🔹 +DI (Crossunder) Threshold
🔹 -DI (Crossover) ADX
🔹 -DI (Crossunder) ADX
🔹 -DI (Crossover) Threshold
🔹 -DI (Crossunder) Threshold
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔸 +DI > -DI
🔸 +DI < -DI
🔸 +DI > ADX
🔸 +DI < ADX
🔸 -DI > ADX
🔸 -DI < ADX
🔸 ADX > Threshold
🔸 ADX < Threshold
🔸 +DI > Threshold
🔸 +DI < Threshold
🔸 -DI > Threshold
🔸 -DI < Threshold
🔸 +DI (Crossover) -DI
🔸 +DI (Crossunder) -DI
🔸 +DI (Crossover) ADX
🔸 +DI (Crossunder) ADX
🔸 +DI (Crossover) Threshold
🔸 +DI (Crossunder) Threshold
🔸 -DI (Crossover) ADX
🔸 -DI (Crossunder) ADX
🔸 -DI (Crossover) Threshold
🔸 -DI (Crossunder) Threshold
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : ADX Full
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
Machine Learning | Adaptive Trend Signals [Bitwardex]⚙️🧠Machine Learning | Adaptive Trend Signals
🔷Overview
Machine Learning | Adaptive Trend Signals is a Pine Script™ v6 indicator designed to visualize market trends and generate signals through a combination of volatility clustering, Gaussian smoothing, and adaptive trend calculations. Built as an overlay indicator, it integrates advanced techniques inspired by machine learning concepts, such as K-Means clustering, to adapt to changing market conditions. The script is highly customizable, includes a backtesting module, and supports alert conditions, making it suitable for traders exploring trend-based strategies and developers studying volatility-driven indicator design.
🔷Functionality
The indicator performs the following core functions:
• Volatility Clustering: Uses K-Means clustering to categorize market volatility into high, medium, and low states, adjusting trend sensitivity accordingly.
• Trend Calculation: Computes adaptive trend lines (SmartTrend) based on volatility-adjusted standard deviation, smoothed RSI, and ADX filters.
• Signal Generation: Identifies potential buy and sell points through trend line crossovers and directional confirmation.
• Backtesting Module: Tracks trade outcomes based on the SmartTrend3 value, displaying win rate and total trades.
• Visualization: Plots trend lines with gradient colors and optional signal markers (bullish 🐮 and bearish 🐻).
• Alerts: Provides configurable alerts for trend shifts and volatility state changes.
🔷Technical Methodology
Volatility Clustering with K-Means
The indicator employs a K-Means clustering algorithm to classify market volatility, measured via the Average True Range (ATR), into three distinct clusters:
• Data Collection: Gathers ATR values over a user-defined training period (default: 100 bars).
• Centroid Initialization: Sets initial centroids at the highest, lowest, and midpoint ATR values within the training period.
• Iterative Clustering: Assigns ATR data points to the nearest centroid, recalculates centroid means, and repeats until convergence.
• Dynamic Adjustment: Assigns a volatility state (high, medium, or low) based on the closest centroid, adjusting the trend factor (e.g., tighter for high volatility, wider for low volatility).
This approach allows the indicator to adapt its sensitivity to varying market conditions, providing a data-driven foundation for trend calculations.
🔷Gaussian Smoothing
To enhance signal clarity and reduce noise, the indicator applies Gaussian kernel smoothing to:
• RSI: Smooths the Relative Strength Index (calculated from OHLC4) to filter short-term fluctuations.
• SmartTrend: Smooths the primary trend line for a more stable output.
The Gaussian kernel uses a sigma value derived from the user-defined smoothing length, ensuring mathematically consistent noise reduction.
🔷SmartTrend Calculation
The pineSmartTrend function is the core of the indicator, producing three trend lines:
• SmartTrend: The primary trend line, calculated using a volatility-adjusted standard deviation, smoothed RSI, and ADX conditions.
• SmartTrend2: A secondary trend line with a wider factor (base factor * 1.382) for signal confirmation.
SmartTrend3: The average of SmartTrend and SmartTrend2, used for plotting and backtesting.
Key components of the calculation include:
• Dynamic Standard Deviation: Scales based on ATR relative to its 50-period smoothed average, with multipliers (1.0 to 1.4) applied according to volatility thresholds.
• RSI and ADX Filters: Requires RSI > 50 for bullish trends or < 50 for bearish trends, alongside ADX > 15 and rising to confirm trend strength.
Volatility-Adjusted Bands: Constructs upper and lower bands around price action, adjusted by the volatility cluster’s dynamic factor.
🔷Signal Generation
The generate_signals function generates signals as follows:
• Buy Signal: Triggered when SmartTrend crosses above SmartTrend2 and the price is above SmartTrend, with directional confirmation.
• Sell Signal: Triggered when SmartTrend crosses below SmartTrend2 and the price is below SmartTrend, with directional confirmation.
Directional Logic: Tracks trend direction to filter out conflicting signals, ensuring alignment with the broader market context.
Signals are visualized as small circles with bullish (🐮) or bearish (🐻) emojis, with an option to toggle visibility.
🔷Backtesting
The get_backtest function evaluates signal outcomes using the SmartTrend3 value (rather than closing prices) to align with the trend-based methodology.
It tracks:
• Total Trades: Counts completed long and short trades.
• Win Rate: Calculates the percentage of trades where SmartTrend3 moves favorably (higher for longs, lower for shorts).
Position Management: Closes opposite positions before opening new ones, simulating a single-position trading system.
Results are displayed in a table at the top-right of the chart, showing win rate and total trades. Note that backtest results reflect the indicator’s internal logic and should not be interpreted as predictive of real-world performance.
🔷Visualization and Alerts
• Trend Lines: SmartTrend3 is plotted with gradient colors reflecting trend direction and volatility cluster, accompanied by a secondary line for visual clarity.
• Signal Markers: Optional buy/sell signals are plotted as small circles with customizable colors.
• Alerts: Supports alerts for:
• Bullish and bearish trend shifts (confirmed on bar close).
Transitions to high, medium, or low volatility states.
🔷Input Parameters
• ATR Length (default: 14): Period for ATR calculation, used in volatility clustering.
• Period (default: 21): Common period for RSI, ADX, and standard deviation calculations.
• Base SmartTrend Factor (default: 2.0): Base multiplier for volatility-adjusted bands.
• SmartTrend Smoothing Length (default: 10): Length for Gaussian smoothing of the trend line.
• Show Buy/Sell Signals? (default: true): Enables/disables signal markers.
• Bullish/Bearish Color: Customizable colors for trend lines and signals.
🔷Usage Instructions
• Apply to Chart: Add the indicator to any TradingView chart.
• Configure Inputs: Adjust parameters to align with your trading style or market conditions (e.g., shorter ATR length for faster markets).
• Interpret Output:
• Trend Lines: Use SmartTrend3’s direction and color to gauge market bias.
• Signals: Monitor bullish (🐮) and bearish (🐻) markers for potential entry/exit points.
• Backtest Table: Review win rate and total trades to understand the indicator’s behavior in historical data.
• Set Alerts: Configure alerts for trend shifts or volatility changes to support manual or automated trading workflows.
• Combine with Analysis: Use the indicator alongside other tools or market context, as it is designed to complement, not replace, comprehensive analysis.
🔷Technical Notes
• Data Requirements: Requires at least 100 bars for accurate volatility clustering. Ensure sufficient historical data is loaded.
• Market Suitability: The indicator is designed for trend detection and may perform differently in ranging or volatile markets due to its reliance on RSI and ADX filters.
• Backtesting Scope: The backtest module uses SmartTrend3 values, which may differ from price-based outcomes. Results are for informational purposes only.
• Computational Intensity: The K-Means clustering and Gaussian smoothing may increase processing time on lower timeframes or with large datasets.
🔷For Developers
The script is modular, well-commented, encouraging reuse and modification with proper attribution.
Key functions include:
• gaussianSmooth: Applies Gaussian kernel smoothing to any data series.
• pineSmartTrend: Computes adaptive trend lines with volatility and momentum filters.
• getDynamicFactor: Adjusts trend sensitivity based on volatility clusters.
• get_backtest: Evaluates signal performance using SmartTrend3.
Developers can extend these functions for custom indicators or strategies, leveraging the volatility clustering and smoothing methodologies. The K-Means implementation is particularly useful for adaptive volatility analysis.
🔷Limitations
• The indicator is not predictive and should be used as part of a broader trading strategy.
• Performance varies by market, timeframe, and parameter settings, requiring user experimentation.
• Backtest results are based on historical data and internal logic, not real-world trading conditions.
• Volatility clustering assumes sufficient historical data; incomplete data may affect accuracy.
🔷Acknowledgments
Developed by Bitwardex, inspired by machine learning concepts and adaptive trading methodologies. Community feedback is welcome via TradingView’s platform.
🔷 Risk Disclaimer
Trading involves significant risks, and most traders may incur losses. Bitwardex AI Algo is provided for informational and educational purposes only and does not constitute financial advice or a recommendation to buy or sell any financial instrument . The signals, metrics, and features are tools for analysis and do not guarantee profits or specific outcomes. Past performance is not indicative of future results. Always conduct your own due diligence and consult a financial advisor before making trading decisions.